package com.example.testapp.config

/**
 * API服务提供商管理类
 * 负责管理和提供预设的API服务提供商列表
 */
object ApiProviderManager {

    // 图片API提供商映射表
    private val IMAGE_API_PROVIDERS = mapOf(
        "百度智能云" to "https://aip.baidubce.com/rest/2.0/image-classify/v1/",
        "腾讯云" to "https://cloud.tencent.com/api/image/v1/",
        "阿里云" to "https://vision.aliyuncs.com/",
        "华为云" to "https://image.huaweicloud.com/",
        "Azure Vision" to "https://api.cognitive.microsoft.com/vision/v3.0/",
        "Google Cloud Vision" to "https://vision.googleapis.com/v1/"
    )
    
    // AI API提供商映射表
    private val AI_API_PROVIDERS = mapOf(
        "OpenAI" to "https://api.openai.com/v1/",
        "百度文心" to "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/",
        "讯飞星火" to "https://spark-api.xf-yun.com/v1.1/",
        "智谱AI" to "https://open.bigmodel.cn/api/",
        "Anthropic Claude" to "https://api.anthropic.com/v1/",
        "Azure OpenAI" to "https://YOUR_RESOURCE_NAME.openai.azure.com/"
    )
    
    // 预设提供商列表（不含自定义）
    private val PRESET_PROVIDERS = IMAGE_API_PROVIDERS.keys + AI_API_PROVIDERS.keys

    /**
     * 获取图片API提供商列表
     * @return 提供商列表
     */
    @JvmStatic
    fun getImageApiProviders(): List<String> {
        return IMAGE_API_PROVIDERS.keys.toList()
    }
    
    /**
     * 获取AI API提供商列表
     * @return 提供商列表
     */
    @JvmStatic
    fun getAiApiProviders(): List<String> {
        return AI_API_PROVIDERS.keys.toList()
    }
    
    /**
     * 获取所有预设的API提供商列表
     * @return 所有预设提供商列表
     */
    @JvmStatic
    fun getAllPresetProviders(): List<String> {
        return PRESET_PROVIDERS.toList()
    }
    
    /**
     * 检查提供商是否为预设提供商
     * @param provider 提供商名称
     * @return 是否为预设提供商
     */
    @JvmStatic
    fun isPresetProvider(provider: String): Boolean {
        return PRESET_PROVIDERS.contains(provider)
    }
    
    /**
     * 获取提供商对应的API URL
     * @param provider 提供商名称
     * @return API URL，如果未找到返回空字符串
     */
    @JvmStatic
    fun getApiUrl(provider: String): String {
        return IMAGE_API_PROVIDERS[provider] ?: AI_API_PROVIDERS[provider] ?: ""
    }
} 